package ink.yql.model;

import java.io.Serializable;

public class User implements Serializable {
    /**
     * 用户id
     */
    private Integer uid;
    /**
     * 用户名称
     */
    private String uname;
    /**
     * 关注人数
     */
    private Integer uattentionCount;
    /**
     * 粉丝数
     */
    private Integer ufansCount;
    /**
     * 积分
     */
    private Integer uintegral;
    /**
     * 个人简历
     */
    private String usummary;
    /**
     * 头像id
     */
    private Integer uavatar;
    /**
     * 头像对象
     */
    private Object url;
    /**
     * 性别
     */
    private String usex;
    /**
     * 生日
     */
    private String ubirthday;
    /**
     * 省份
     */
    private String uprovince;
    /**
     * 城市
     */
    private String ucity;
    /**
     * 详细地址
     */
    private String uaddress;
    /**
     * 是否认证
     */
    private Integer uattest;
    /**
     * 手机号
     */
    private String uphone;
    /**
     * 密码
     */
    private String upwd;
    /**
     * 最后登录时间
     */
    private String uloginTime;
    /**
     * 最后登录ip
     */
    private String uloginIp;

    public User(Integer uid, String uname, Integer uattentionCount, Integer ufansCount, Integer uintegral, String usummary, Integer uavatar, Object url, String usex, String ubirthday, String uprovince, String ucity, String uaddress, Integer uattest, String uphone, String upwd, String uloginTime, String uloginIp) {
        this.uid = uid;
        this.uname = uname;
        this.uattentionCount = uattentionCount;
        this.ufansCount = ufansCount;
        this.uintegral = uintegral;
        this.usummary = usummary;
        this.uavatar = uavatar;
        this.url = url;
        this.usex = usex;
        this.ubirthday = ubirthday;
        this.uprovince = uprovince;
        this.ucity = ucity;
        this.uaddress = uaddress;
        this.uattest = uattest;
        this.uphone = uphone;
        this.upwd = upwd;
        this.uloginTime = uloginTime;
        this.uloginIp = uloginIp;
    }

    public User() {
    }

    public static UserBuilder builder() {
        return new UserBuilder();
    }

    public Integer getUid() {
        return this.uid;
    }

    public String getUname() {
        return this.uname;
    }

    public Integer getUattentionCount() {
        return this.uattentionCount;
    }

    public Integer getUfansCount() {
        return this.ufansCount;
    }

    public Integer getUintegral() {
        return this.uintegral;
    }

    public String getUsummary() {
        return this.usummary;
    }

    public Integer getUavatar() {
        return this.uavatar;
    }

    public Object getUrl() {
        return this.url;
    }

    public String getUsex() {
        return this.usex;
    }

    public String getUbirthday() {
        return this.ubirthday;
    }

    public String getUprovince() {
        return this.uprovince;
    }

    public String getUcity() {
        return this.ucity;
    }

    public String getUaddress() {
        return this.uaddress;
    }

    public Integer getUattest() {
        return this.uattest;
    }

    public String getUphone() {
        return this.uphone;
    }

    public String getUpwd() {
        return this.upwd;
    }

    public String getUloginTime() {
        return this.uloginTime;
    }

    public String getUloginIp() {
        return this.uloginIp;
    }

    public void setUid(Integer uid) {
        this.uid = uid;
    }

    public void setUname(String uname) {
        this.uname = uname;
    }

    public void setUattentionCount(Integer uattentionCount) {
        this.uattentionCount = uattentionCount;
    }

    public void setUfansCount(Integer ufansCount) {
        this.ufansCount = ufansCount;
    }

    public void setUintegral(Integer uintegral) {
        this.uintegral = uintegral;
    }

    public void setUsummary(String usummary) {
        this.usummary = usummary;
    }

    public void setUavatar(Integer uavatar) {
        this.uavatar = uavatar;
    }

    public void setUrl(Object url) {
        this.url = url;
    }

    public void setUsex(String usex) {
        this.usex = usex;
    }

    public void setUbirthday(String ubirthday) {
        this.ubirthday = ubirthday;
    }

    public void setUprovince(String uprovince) {
        this.uprovince = uprovince;
    }

    public void setUcity(String ucity) {
        this.ucity = ucity;
    }

    public void setUaddress(String uaddress) {
        this.uaddress = uaddress;
    }

    public void setUattest(Integer uattest) {
        this.uattest = uattest;
    }

    public void setUphone(String uphone) {
        this.uphone = uphone;
    }

    public void setUpwd(String upwd) {
        this.upwd = upwd;
    }

    public void setUloginTime(String uloginTime) {
        this.uloginTime = uloginTime;
    }

    public void setUloginIp(String uloginIp) {
        this.uloginIp = uloginIp;
    }

    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof User)) return false;
        final User other = (User) o;
        if (!other.canEqual((Object) this)) return false;
        final Object this$uid = this.getUid();
        final Object other$uid = other.getUid();
        if (this$uid == null ? other$uid != null : !this$uid.equals(other$uid)) return false;
        final Object this$uname = this.getUname();
        final Object other$uname = other.getUname();
        if (this$uname == null ? other$uname != null : !this$uname.equals(other$uname)) return false;
        final Object this$uattentionCount = this.getUattentionCount();
        final Object other$uattentionCount = other.getUattentionCount();
        if (this$uattentionCount == null ? other$uattentionCount != null : !this$uattentionCount.equals(other$uattentionCount))
            return false;
        final Object this$ufansCount = this.getUfansCount();
        final Object other$ufansCount = other.getUfansCount();
        if (this$ufansCount == null ? other$ufansCount != null : !this$ufansCount.equals(other$ufansCount))
            return false;
        final Object this$uintegral = this.getUintegral();
        final Object other$uintegral = other.getUintegral();
        if (this$uintegral == null ? other$uintegral != null : !this$uintegral.equals(other$uintegral)) return false;
        final Object this$usummary = this.getUsummary();
        final Object other$usummary = other.getUsummary();
        if (this$usummary == null ? other$usummary != null : !this$usummary.equals(other$usummary)) return false;
        final Object this$uavatar = this.getUavatar();
        final Object other$uavatar = other.getUavatar();
        if (this$uavatar == null ? other$uavatar != null : !this$uavatar.equals(other$uavatar)) return false;
        final Object this$url = this.getUrl();
        final Object other$url = other.getUrl();
        if (this$url == null ? other$url != null : !this$url.equals(other$url)) return false;
        final Object this$usex = this.getUsex();
        final Object other$usex = other.getUsex();
        if (this$usex == null ? other$usex != null : !this$usex.equals(other$usex)) return false;
        final Object this$ubirthday = this.getUbirthday();
        final Object other$ubirthday = other.getUbirthday();
        if (this$ubirthday == null ? other$ubirthday != null : !this$ubirthday.equals(other$ubirthday)) return false;
        final Object this$uprovince = this.getUprovince();
        final Object other$uprovince = other.getUprovince();
        if (this$uprovince == null ? other$uprovince != null : !this$uprovince.equals(other$uprovince)) return false;
        final Object this$ucity = this.getUcity();
        final Object other$ucity = other.getUcity();
        if (this$ucity == null ? other$ucity != null : !this$ucity.equals(other$ucity)) return false;
        final Object this$uaddress = this.getUaddress();
        final Object other$uaddress = other.getUaddress();
        if (this$uaddress == null ? other$uaddress != null : !this$uaddress.equals(other$uaddress)) return false;
        final Object this$uattest = this.getUattest();
        final Object other$uattest = other.getUattest();
        if (this$uattest == null ? other$uattest != null : !this$uattest.equals(other$uattest)) return false;
        final Object this$uphone = this.getUphone();
        final Object other$uphone = other.getUphone();
        if (this$uphone == null ? other$uphone != null : !this$uphone.equals(other$uphone)) return false;
        final Object this$upwd = this.getUpwd();
        final Object other$upwd = other.getUpwd();
        if (this$upwd == null ? other$upwd != null : !this$upwd.equals(other$upwd)) return false;
        final Object this$uloginTime = this.getUloginTime();
        final Object other$uloginTime = other.getUloginTime();
        if (this$uloginTime == null ? other$uloginTime != null : !this$uloginTime.equals(other$uloginTime))
            return false;
        final Object this$uloginIp = this.getUloginIp();
        final Object other$uloginIp = other.getUloginIp();
        if (this$uloginIp == null ? other$uloginIp != null : !this$uloginIp.equals(other$uloginIp)) return false;
        return true;
    }

    protected boolean canEqual(final Object other) {
        return other instanceof User;
    }

    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $uid = this.getUid();
        result = result * PRIME + ($uid == null ? 43 : $uid.hashCode());
        final Object $uname = this.getUname();
        result = result * PRIME + ($uname == null ? 43 : $uname.hashCode());
        final Object $uattentionCount = this.getUattentionCount();
        result = result * PRIME + ($uattentionCount == null ? 43 : $uattentionCount.hashCode());
        final Object $ufansCount = this.getUfansCount();
        result = result * PRIME + ($ufansCount == null ? 43 : $ufansCount.hashCode());
        final Object $uintegral = this.getUintegral();
        result = result * PRIME + ($uintegral == null ? 43 : $uintegral.hashCode());
        final Object $usummary = this.getUsummary();
        result = result * PRIME + ($usummary == null ? 43 : $usummary.hashCode());
        final Object $uavatar = this.getUavatar();
        result = result * PRIME + ($uavatar == null ? 43 : $uavatar.hashCode());
        final Object $url = this.getUrl();
        result = result * PRIME + ($url == null ? 43 : $url.hashCode());
        final Object $usex = this.getUsex();
        result = result * PRIME + ($usex == null ? 43 : $usex.hashCode());
        final Object $ubirthday = this.getUbirthday();
        result = result * PRIME + ($ubirthday == null ? 43 : $ubirthday.hashCode());
        final Object $uprovince = this.getUprovince();
        result = result * PRIME + ($uprovince == null ? 43 : $uprovince.hashCode());
        final Object $ucity = this.getUcity();
        result = result * PRIME + ($ucity == null ? 43 : $ucity.hashCode());
        final Object $uaddress = this.getUaddress();
        result = result * PRIME + ($uaddress == null ? 43 : $uaddress.hashCode());
        final Object $uattest = this.getUattest();
        result = result * PRIME + ($uattest == null ? 43 : $uattest.hashCode());
        final Object $uphone = this.getUphone();
        result = result * PRIME + ($uphone == null ? 43 : $uphone.hashCode());
        final Object $upwd = this.getUpwd();
        result = result * PRIME + ($upwd == null ? 43 : $upwd.hashCode());
        final Object $uloginTime = this.getUloginTime();
        result = result * PRIME + ($uloginTime == null ? 43 : $uloginTime.hashCode());
        final Object $uloginIp = this.getUloginIp();
        result = result * PRIME + ($uloginIp == null ? 43 : $uloginIp.hashCode());
        return result;
    }

    public String toString() {
        return "User(uid=" + this.getUid() + ", uname=" + this.getUname() + ", uattentionCount=" + this.getUattentionCount() + ", ufansCount=" + this.getUfansCount() + ", uintegral=" + this.getUintegral() + ", usummary=" + this.getUsummary() + ", uavatar=" + this.getUavatar() + ", url=" + this.getUrl() + ", usex=" + this.getUsex() + ", ubirthday=" + this.getUbirthday() + ", uprovince=" + this.getUprovince() + ", ucity=" + this.getUcity() + ", uaddress=" + this.getUaddress() + ", uattest=" + this.getUattest() + ", uphone=" + this.getUphone() + ", upwd=" + this.getUpwd() + ", uloginTime=" + this.getUloginTime() + ", uloginIp=" + this.getUloginIp() + ")";
    }

    public static class UserBuilder {
        private Integer uid;
        private String uname;
        private Integer uattentionCount;
        private Integer ufansCount;
        private Integer uintegral;
        private String usummary;
        private Integer uavatar;
        private Object url;
        private String usex;
        private String ubirthday;
        private String uprovince;
        private String ucity;
        private String uaddress;
        private Integer uattest;
        private String uphone;
        private String upwd;
        private String uloginTime;
        private String uloginIp;

        UserBuilder() {
        }

        public User.UserBuilder uid(Integer uid) {
            this.uid = uid;
            return this;
        }

        public User.UserBuilder uname(String uname) {
            this.uname = uname;
            return this;
        }

        public User.UserBuilder uattentionCount(Integer uattentionCount) {
            this.uattentionCount = uattentionCount;
            return this;
        }

        public User.UserBuilder ufansCount(Integer ufansCount) {
            this.ufansCount = ufansCount;
            return this;
        }

        public User.UserBuilder uintegral(Integer uintegral) {
            this.uintegral = uintegral;
            return this;
        }

        public User.UserBuilder usummary(String usummary) {
            this.usummary = usummary;
            return this;
        }

        public User.UserBuilder uavatar(Integer uavatar) {
            this.uavatar = uavatar;
            return this;
        }

        public User.UserBuilder url(Object url) {
            this.url = url;
            return this;
        }

        public User.UserBuilder usex(String usex) {
            this.usex = usex;
            return this;
        }

        public User.UserBuilder ubirthday(String ubirthday) {
            this.ubirthday = ubirthday;
            return this;
        }

        public User.UserBuilder uprovince(String uprovince) {
            this.uprovince = uprovince;
            return this;
        }

        public User.UserBuilder ucity(String ucity) {
            this.ucity = ucity;
            return this;
        }

        public User.UserBuilder uaddress(String uaddress) {
            this.uaddress = uaddress;
            return this;
        }

        public User.UserBuilder uattest(Integer uattest) {
            this.uattest = uattest;
            return this;
        }

        public User.UserBuilder uphone(String uphone) {
            this.uphone = uphone;
            return this;
        }

        public User.UserBuilder upwd(String upwd) {
            this.upwd = upwd;
            return this;
        }

        public User.UserBuilder uloginTime(String uloginTime) {
            this.uloginTime = uloginTime;
            return this;
        }

        public User.UserBuilder uloginIp(String uloginIp) {
            this.uloginIp = uloginIp;
            return this;
        }

        public User build() {
            return new User(uid, uname, uattentionCount, ufansCount, uintegral, usummary, uavatar, url, usex, ubirthday, uprovince, ucity, uaddress, uattest, uphone, upwd, uloginTime, uloginIp);
        }

        public String toString() {
            return "User.UserBuilder(uid=" + this.uid + ", uname=" + this.uname + ", uattentionCount=" + this.uattentionCount + ", ufansCount=" + this.ufansCount + ", uintegral=" + this.uintegral + ", usummary=" + this.usummary + ", uavatar=" + this.uavatar + ", url=" + this.url + ", usex=" + this.usex + ", ubirthday=" + this.ubirthday + ", uprovince=" + this.uprovince + ", ucity=" + this.ucity + ", uaddress=" + this.uaddress + ", uattest=" + this.uattest + ", uphone=" + this.uphone + ", upwd=" + this.upwd + ", uloginTime=" + this.uloginTime + ", uloginIp=" + this.uloginIp + ")";
        }
    }
}
